﻿"""Schemas for password reset tokens."""

from __future__ import annotations

from datetime import datetime

from pydantic import BaseModel, Field


class PasswordResetBase(BaseModel):
    token: str = Field(min_length=16, max_length=128)
    expires_at: datetime
    used: bool = False


class PasswordResetCreate(BaseModel):
    token: str
    expires_at: datetime
    user_id: int


class PasswordResetUpdate(BaseModel):
    used: bool | None = None
